課程資訊
課程名稱
計算機結構
Computer Architecture 
開課學期
109-1 
授課對象
資訊工程學系  
授課教師
洪士灝 
課號
CSIE3340 
課程識別碼
902 46100 
班次
02 
學分
3.0 
全/半年
半年 
必/選修
必帶 
上課時間
星期二2,3,4(9:10~12:10) 
上課地點
資104 
備註
限學號雙號 且 限本系所學生(含輔系、雙修生) 且 限學士班三年級以上
總人數上限:80人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1091CSIE3340_02 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

本課程概括計算機系統硬體及軟體運作的基礎觀念。這是一個範圍很大、內容很多的課程,課程裡只用到基本的數學,沒有幾個小學生沒看過的公式,課程的重點在告訴各位,計算機系統在過去四十年為什麼能突飛猛進? 為何能不斷地以幾何級數增快他的運算速度? 過程中遇到過甚麼難題和挑戰? 計算機結構專家(computer architects),是如何運算他們的經驗和智慧,去分析和解決問題?

這些經驗和智慧,至今還不斷在迅速成長與累積,在現今台灣資訊電子業必須從代工產業轉變升級為創新系統設計產業的趨勢裡,重要性與日俱增。Computer architects在台灣未來資訊電子產業中,勢必扮演舉足輕重的角色。身為【資訊工程】專業的同學們,學好計算機結構,可以清楚知道電腦的運作原理,軟硬體各部分的機能,軟硬體模組之間的互動和影響,以至於能理解行動裝置和雲端系統的來龍去脈,進而學習如何針對特定應用設計出最佳的計算機系統。

這門課程是資工系大學部學生的必修課程,也是許多進階課程的基礎。這們課程中,可以學習的東西很多,在大學部的課程中,學生由了解指令集架構(instruction set architecture)的設計開始,去分辨簡單指令集電腦(RISC)和複雜指令集電腦(CISC)的不同與優劣之處。進一步再去學習電腦中各個部份的設計原理,各個部份之間的相互關係,以及電腦整體運作的效能。

這門課對於有興趣修習進階的電腦系統設計,高等作業系統核心運作,平行與分散式系統,以及增進電腦系統應用,都有很大的助益。 

課程目標
1. 以組合語言去深入認識電腦硬體與軟體的運作介面。
2. 了解電腦中的主要組件的設計及運作方式。
3. 熟悉CPU內部處理指令的管線以及記憶體的的架構。
4. 對於電腦系統架構,包括多核心處理機、網路、輸出入週邊裝置等之構成與相互關係。 
課程要求
修課前,學生必須先對於下列項目有足夠了解:
- 組合語言與C語言。
- 計算機概論。
- 數位設計。

每週上課三節(上課發問回答以及小考)。每位學生繳交約五份作業(約佔50%)。參加期中考與期末考(合計50%)。以上的成績計算方式,在課程進行中可能視狀況而有所修改,教授保有修改的權利。 
預期每週課後學習時數
 
Office Hours
每週一 15:00~17:00 
指定閱讀
Textbook: "Computer Organization & Design. The Hardware/Software Interface. RISC-V Edition. David A. Patterson and John L. Hennessy, 2017". 請注意課本是2017年新出的RISC-V版本,有很大的改版,請勿使用舊的ARM或MIPS版。  
參考書目
「計算機結構」臉書網址
https://www.facebook.com/groups/191997920831213/ 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
作業 
50% 
作業比例頗高,請勿缺交。遲交一周內的成績以八折計算,遲交兩周以六折計算,超過兩周不計分。 
2. 
期中考 
20% 
評量期中之前的授課內容與作業。  
3. 
期末考 
30% 
評量整學期的教學內容,但著重後半學期。  
 
課程進度
週次
日期
單元主題
第1週
9/15  Introduction & Chapter 1 Computer Abstractions and Technology  
第2週
9/22  Chapter 1 (Continued) 
第3週
9/29  Chapter 2 Instructions: Language of the Computer (1)  
第4週
10/06  Chapter 2 Instructions: Language of the Computer (2)  
第5週
10/13  Chapter 3 Arithmetic for Computer (1) 
第6週
10/20  Chapter 3 Arithmetic for Computer (2) 
第7週
10/27  Chapter 4 The Processor (1)  
第8週
11/03  Chapter 4 The Processor (2)  
第9週
11/10  Chapter 4 The Processor (3)  
第10週
11/17  Midterm Exam 
第11週
11/24  Chapter 4 The Processor (4) 
第12週
12/01  Discussion of Exercises and Midterm Exam 
第13週
12/08  Chapter 5 Large and Fast: Exploiting Memory Hierarchy
(1)  
第14週
12/15  Chapter 5 Large and Fast: Exploiting Memory Hierarchy
(2)  
第15週
12/22  Chapter 5 Large and Fast: Exploiting Memory Hierarchy
(3) 
第16週
12/29  Chapter 6 Parallel Processors from Client to Cloud (1)  
第17週
1/05  Chapter 6 Parallel Processors from Client to Cloud (2) 
第18週
2021/01/12  Final Exam